草庐IT

TypeScript 对象

全部标签

javascript - 如果一个对象只有一个实例,我还应该使用构造函数吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我一直深入JS世界,遇到了3种不同的方法来开发网站的前端购物车:带有原型(prototype)函数的构造函数varcart=function(){this.items={}}cart.prototype.increaseItemQty=function(partNumber){if(this.items[partNumber]){this.items[partNumber].qty+=1;

javascript - 如何找到 JXA 对象的所有方法?

我正在尝试列出JXA对象的所有方法。我已经尝试了几种在浏览器中使用JavaScript的方法,但都没有奏效:>>Object.getOwnPropertyNames(Application('Finder').selection()[0]);=>["__private__"]>>>>JSON.stringify(Application('Finder').selection()[0])=>undefined>>>>console.dir(Application('Finder').selection()[0])!!Erroronline1:TypeError:console.diris

javascript - 安装vuejs后在数据对象中设置地理位置

我对VueJS场景还比较陌生。最近我正在尝试进行我的副项目,该项目需要在安装主要组件后立即获取用户的地理位置数据。我的代码在这里,varapp=newVue({el:'#app',data:{position:null},mounted:function(){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(position){this.position=position.coords;})}}});我想在安装后将数据对象中的position设置为当前地理位置,但不幸的是它不起作用。有

javascript - Mobx 返回 ObservableObjectAdministration 而不是我的对象

我是mobx的新手。我想知道为什么当我调用计算的getServerUrls()函数而不是对象时得到ObservableObjectAdministration。下面是我的店铺。import{observable,computed}from'mobx';import{ServerNames}from'master-server-urls';classServerNamesStores{@observableServerNameUrls={};@computedgetgetServerUrls(){console.log('@computedgetgetServerUrls()',this

javascript - 在 Typescript 中为 `this` 关键字键入注释

我有一个独立函数,旨在使用Function.prototype.call提供的上下文。例如:functionfoo(){returnthis.bar;}>foo.call({bar:"baz"})baz有没有办法在这种情况下为this关键字提供Typescript类型注释? 最佳答案 首先,你可以使用特殊的thisparameter用于识别您期望的对象类型的语法this成为:functionfoo(this:{bar:string}){returnthis.bar;//nomoreerror}如果你直接调用它会有帮助:foo();/

javascript - 如何动态获取匹配的输入字段以将值添加到 Javascript 中的对象?

我有一个包含两个输入字段的页面。我有一个JS对象(信息),其中包含每个项目的“引用”和“值”字段。对于每个项目,都有一个相应的“输入”字段与“类”属性匹配。当用户更新匹配的输入字段时,我想在信息对象中添加它的“值”。我遇到的问题是,它将值放在数组的最后一项(location.value)中,用于任一输入。谁能帮我解决我哪里出错了?(我可以看到使用“每个”的解决方案,其中所有输入的数据都需要添加到一个数组/对象中。我坚持获取匹配字段的数据。)$(document).ready(function(){varinfo={name:{ref:"a2350",value:""},location

javascript - 我如何解决 'Property ' 宽度'在类型 'HTMLElement' 上不存在。'在 vscode 中使用//@ts-check 类型检查 Javascript(不是 Typescript)时?

在view.js文件中:constcanvas=document.getElementById('canvas');...export{canvas,};在main.js文件中:import*asviewfrom'../src/view.js';...xPosition:view.canvas.width/2,给我'属性'width'在类型'HTMLElement'上不存在。类型检查错误。我不知道如何进行,我对typescript的了解为零,而且程序是用javascript编写的。我读过的所有解决方案都需要使用typescript,这在这个例子中是没有用的。有什么办法可以消除这个错误吗

javascript - JavaScript 对象中不同函数声明之间的区别(如果有的话)是什么?

我有一个JavaScript对象:varmethods={classStyle(){console.log('Classstylefunction');},traditionalStyle:function(){console.log('Traditionalstylefunction');},arrowStyle:()=>{console.log('Arrowstylefunction');}};methods.classStyle();methods.traditionalStyle();methods.arrowStyle();输出符合预期:(index):70Classstyl

Javascript - 如何按 3 种不同的属性类型对对象数组进行排序? (字符串、整数、 bool 值)

我有对象数组:vara=[{"name":"BBB","no":2,"size1":[3],"size2":null},{"name":"AAA","no":5,"size1":null,"size2":[1]},{"name":"BBB","no":1,"size1":[2],"size2":null},{"name":"AAA","no":4,"size1":null,"size2":[1]},{"name":"BBB","no":1,"size1":null,"size2":[1]},{"name":"AAA","no":5,"size1":[2],"size2":null},{

javascript - typescript : find date difference in dates/hours/minutes

我正在进行日期比较,我正在尝试以日期、小时、分钟的格式计算和显示两个日期之间的差异...日期值存储在数据库中,如下所示:EndDate:2018-11-2910:49:49.9396033PurchaseDate:2018-11-2910:49:07.4154497在我的Angular组件中,我有:letresult=newDate(res.endDate).valueOf()-newDate(res.purchaseDate).valueOf();这导致:42524我不确定它代表什么。我想知道计算两个日期之间时差的正确方法是什么,以及如何以正确且可读的方式显示结果。欢迎任何帮助